package com.doyled.jump.user;

import java.util.List;

import com.doyled.jump.object.Dice;
import com.doyled.jump.object.Environment;
import com.doyled.jump.object.Horsemen;
import com.doyled.jump.object.Spot;
import com.doyled.jump.util.ChessKind;
import com.doyled.jump.util.TeamInfo;

public abstract class User {
	Environment env;
	ChessKind kind;
	TeamInfo teamInfo;
	
	public ChessKind getKind() {
		return kind;
	}

	public TeamInfo getTeamInfo() {
		return teamInfo;
	}

	public User(Environment env, ChessKind kind, TeamInfo teamInfo){
		this.env = env;
		this.kind = kind;
		this.teamInfo = teamInfo;
	}
	
	public abstract void decide();
	
	public Horsemen releaseHorse(){
		return env.releaseHorse(kind);
	}
	
	public void moveHorse(Horsemen horse){
		env.moveHorse(horse);
	}
	
	public abstract boolean throwDice(Dice dice);
	
	public void endPhrase() {
		env.endPhrase();
	}
}
